package co.edu.usbcali.sap.exceptions;

public class ZMessManager extends Exception {
    private static final long serialVersionUID = 1L;
    public final static String ALL = "Todos ";
    public final static String ENTCHILD = "Tablas relacionadas(hijas)";
    public final static String FOREIGNDATA = "Datos de clases for&#225;neas: ";
    public static String ENTITY_SUCCESFULLYSAVED = "Registro almacenado correctamente";
    public static String ENTITY_SUCCESFULLYDELETED = "Registro inactivado correctamente";
    public static String ENTITY_SUCCESFULLYMODIFIED = "Registro modificado correctamente";
    public static String ENTITY_WITHSAMEKEY = "Se encontr&#243; otro registro con la misma clave";
    public static String ENTITY_NOENTITYTOUPDATE = "No se encontr&#243; registro, con la llave ingresada ";
    public static String ENTITY_ISNOTEQUALS = "Las contrase&#241;as deben de coincidir";

    public ZMessManager() {
    }

    public ZMessManager(String exception) {
        super(exception);
    }

    public class NotValidFieldException extends ZMessManager {
        private static final long serialVersionUID = 1L;
        
        public NotValidFieldException(String info) {
            super("El valor para el campo: " + info + " no es v&#225;lido");
        }
    }
    
    public class tipodocumento extends ZMessManager{
    	private static final long serialVersionUID= 1L;
    	
    	public tipodocumento(){
    		super("Por favor seleccionar un archivo .docx o .doc y presione upload");
    	}
    }
    
    
    public class EmailNoValido extends ZMessManager {
        private static final long serialVersionUID = 1L;
        
        public EmailNoValido(String info) {
            super("El siguiente email ingresado: " + info + " no es v&#225;lido");
        }
    }
    
    public class NotEqualsFieldException extends ZMessManager {
        private static final long serialVersionUID = 1L;
        
        public NotEqualsFieldException() {
            super("Las contrase&#241;as deben de coincidir");
        }
    }

    public class EmptyFieldException extends ZMessManager {
        private static final long serialVersionUID = 1L;

        public EmptyFieldException(String info) {
            super("El valor para el campo: " + info +
                " no puede ser nulo o vacio");
        }
    }

    public class NotValidFormatException extends ZMessManager {
        private static final long serialVersionUID = 1L;

        public NotValidFormatException(String info) {
            super("El formato o tama&#241;o del campo: " + info +
                " no es v&#225;lido");
        }
    }

    public class DeletingException extends ZMessManager {
        private static final long serialVersionUID = 1L;

        public DeletingException(String info) {
            super("La entidad que esta intentando eliminar " +
                "puede tener informaci&#243;n relacionada, " +
                "por favor intente de nuevo, " +
                "verifica los datos en la entidad," + info);
        }
    }
    
    public class ForeignException extends ZMessManager {
        private static final long serialVersionUID = 1L;

        public ForeignException(String info) {
            super("No habia datos relacionados con la entrada" + info);
        }
    }

    public class GettingException extends ZMessManager {
        private static final long serialVersionUID = 1L;

        public GettingException(String info) {
            super("Hubo una excepci&#243;n tratando de obtener " + info);
        }
    }

    public class FindingException extends ZMessManager {
        private static final long serialVersionUID = 1L;

        public FindingException(String info) {
            super("Hubo una excepci&#243;n tratando de encontrar " + info);
        }
    }
}
